import classes_metier.*;
//import junit.framework.TestCase;
//import blueJ.Ordinateur;

public class Main {
	public static void main (String[] args){
/*TestCase comp = new ComposantTest(){
	@Override
	public void runTest(){
		System.out.println("Runnnn");
		extractMethod(new CarteGraphique("NVidia"), new Ordinateur("Asus", "Tartempion"));
	}
};*/
        Magasin m = new Magasin(1,"perpete-les-oies");
        for(int i=0; i<10; i++){
            m.stocker(new PC("Asus","toto","pc"+i,m));
        }
        System.out.println("Voici le stock contenu dans le magasin que l'on vient de creer:");
        m.afficherStock();
        
        PC p1 = m.destocker("pc1");
        PC p2 = m.destocker("pc3");
        PC p3 = m.destocker("pc5");
        PC p4 = m.destocker("pc7");

        System.out.println("\nMise en reseau: pc1->pc3->pc5->pc7->pc1");
        p1.setSuivant(p2);
        p2.setSuivant(p3);
        p3.setSuivant(p4);
        p4.setSuivant(p1);

        System.out.println("\npc1 recoit le jeton");
        p1.setJeton(true);
        System.out.println("\npc5 essaie d'envoyer un message a pc1");
        p3.communicate("Coucou!", "pc1");
        p1.transmettreJeton();
        p2.transmettreJeton();
        System.out.println("\npc5 recoit le jeton et envoie un message a pc7");
        p3.communicate("Coucou!", "pc4");
        // si le PC se trouve dans le reseau, la recursivite s'arrete mais si le pc n'est pas dans le reseau, on boucle a l'infini
	}
}
